#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project ：图灵学习 
@File    ：4.实力属性与实例方法.py
@IDE     ：PyCharm 
@Author  ：ChenLiGao
@Date    ：2024-10-12 15:43
'''

class Hero:
    # 初始化方法
    def __init__(self, name, gender):
        # 实例属性
        self.name = name
        self.gender = gender


    # 实例方法，在类中定义的函数，且在函数中的第一个参数为self则这个函数就是实例方法
    def print_info(self):
        print(self.name, self.gender)

hero = Hero("盖伦", "男")

print(hero.name)

hero.print_info()


print("-------------------------  如果通过类本身使用实例方法-----------------------------------------------")

# 如果通过类本身使用实例方法


Hero.print_info(hero) # 通过类本身区调用的

hero.print_info() # 通过实例对象去调用的

hero.__class__.print_info(hero)


print(id(hero.__class__))
print(id(Hero))

""" 
     1. 类和实例对象都会在内存中开辟一个新的空间
"""

class Person:
    def __init__(self, name):
        self.name = name

    def print_info(self):
        print("111")
        print(self)
        print(self.name)
person = Person("顾安")
Person.print_info(person)
print("-----------------")